home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / yam.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  3KB  |  83 lines

  1. /*****************************************************************************/
  2.  
  3. /*
  4.  *    yam.h  -- YAM radio modem driver.
  5.  *
  6.  *    Copyright (C) 1998 Frederic Rible F1OAT (frible@teaser.fr)
  7.  *    Adapted from baycom.c driver written by Thomas Sailer (sailer@ife.ee.ethz.ch)
  8.  *
  9.  *    This program is free software; you can redistribute it and/or modify
  10.  *    it under the terms of the GNU General Public License as published by
  11.  *    the Free Software Foundation; either version 2 of the License, or
  12.  *    (at your option) any later version.
  13.  *
  14.  *    This program is distributed in the hope that it will be useful,
  15.  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  *    GNU General Public License for more details.
  18.  *
  19.  *    You should have received a copy of the GNU General Public License
  20.  *    along with this program; if not, write to the Free Software
  21.  *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  *
  23.  *  Please note that the GPL allows you to use the driver, NOT the radio.
  24.  *  In order to use the radio, you need a license from the communications
  25.  *  authority of your country.
  26.  *
  27.  *
  28.  */
  29.  
  30. /*****************************************************************************/
  31.  
  32. #define SIOCYAMRESERVED    (0)
  33. #define SIOCYAMSCFG     (1)    /* Set configuration */
  34. #define SIOCYAMGCFG     (2)    /* Get configuration */
  35. #define SIOCYAMSMCS     (3)    /* Set mcs data */
  36.  
  37. #define YAM_IOBASE   (1 << 0)
  38. #define YAM_IRQ      (1 << 1)
  39. #define YAM_BITRATE  (1 << 2) /* Bit rate of radio port ->57600 */
  40. #define YAM_MODE     (1 << 3) /* 0=simplex 1=duplex 2=duplex+tempo */
  41. #define YAM_HOLDDLY  (1 << 4) /* duplex tempo (sec) */
  42. #define YAM_TXDELAY  (1 << 5) /* Tx Delay (ms) */
  43. #define YAM_TXTAIL   (1 << 6) /* Tx Tail  (ms) */
  44. #define YAM_PERSIST  (1 << 7) /* Persist  (ms) */
  45. #define YAM_SLOTTIME (1 << 8) /* Slottime (ms) */
  46. #define YAM_BAUDRATE (1 << 9) /* Baud rate of rs232 port ->115200 */
  47.  
  48. #define YAM_MAXBITRATE  57600
  49. #define YAM_MAXBAUDRATE 115200
  50. #define YAM_MAXMODE     2
  51. #define YAM_MAXHOLDDLY  99
  52. #define YAM_MAXTXDELAY  999
  53. #define YAM_MAXTXTAIL   999
  54. #define YAM_MAXPERSIST  255
  55. #define YAM_MAXSLOTTIME 999
  56.  
  57. #define YAM_FPGA_SIZE    5302
  58.  
  59. struct yamcfg {
  60.     unsigned int mask;        /* Mask of commands */
  61.     unsigned int iobase;    /* IO Base of COM port */
  62.     unsigned int irq;        /* IRQ of COM port */
  63.     unsigned int bitrate;    /* Bit rate of radio port */
  64.     unsigned int baudrate;    /* Baud rate of the RS232 port */
  65.     unsigned int txdelay;    /* TxDelay */
  66.     unsigned int txtail;    /* TxTail */
  67.     unsigned int persist;    /* Persistence */
  68.     unsigned int slottime;    /* Slottime */
  69.     unsigned int mode;        /* mode 0 (simp), 1(Dupl), 2(Dupl+delay) */
  70.     unsigned int holddly;    /* PTT delay in FullDuplex 2 mode */
  71. };
  72.  
  73. struct yamdrv_ioctl_cfg {
  74.     int cmd;
  75.     struct yamcfg cfg;
  76. };
  77.  
  78. struct yamdrv_ioctl_mcs {
  79.     int cmd;
  80.     int bitrate;
  81.     unsigned char bits[YAM_FPGA_SIZE];
  82. };
  83.